In conventional cryptography systems, the sender initiates the sharing of sensitive data by encrypting the data and sending it to a recipient. The recipient may then use a shared key or shared secret to decrypt the data. However, the recipient may not be prepared to receive the encrypted data. Furthermore, because shared keys or shared secrets are not changed often when they are used for cryptography, it is easier for hackers to misappropriate the shared keys or shared secrets and compromise the system.